package sistema;

import controloBD.AcessoBD;
import controloBD.QueryResult;
import java.util.Hashtable;
import java.util.LinkedList;
import java.util.List;
import java.util.Vector;

public class Pais {

    private Long id_pais;
    private String nome;

    public Pais(Long id, String nome) {
        this.id_pais = id;
        this.nome = nome;
    }

    public Pais(Vector tabela) {
        this.id_pais = (Long) tabela.get(0);
        this.nome = (String) tabela.get(1);
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public Long getId() {
        return id_pais;
    }

    public String getNome() {
        return nome;
    }

    public static List<Pais> devolveTodos() throws Exception {
        AcessoBD conexao = new AcessoBD();
        String qryName = new String("devolve_todospaises");
        QueryResult qr = new QueryResult();
        qr = conexao.executeSelect(qryName, null);
        conexao.closeBD();

         List<Pais> pais = new LinkedList<Pais>();
        if (!qr.tabela().isEmpty()) {
            int i = 0;
            while (i != qr.tabela().size()) {
                Long id2 = (Long) qr.tabela().get(i);
                String nome2 = (String) qr.tabela().get(i + 1);

                pais.add(new Pais(id2,nome2));
                //pais.add((new Pais(Long.parseLong((String) qr.tabela().get(i)), (String) qr.tabela().get(i + 1))));
                i = i + 2;
            }
            return pais;
        }
        return null;

    }

    public static Pais devolvePorID(Long id_pais) throws Exception{

        AcessoBD conexao = new AcessoBD();
        Hashtable<String, String> dados = new Hashtable<String, String>();
        dados.put("var_idpais", id_pais.toString());
        String qryName = "devolve_paisPorId";
        QueryResult qr = conexao.executeSelect(qryName, dados);
        conexao.closeBD();
        return new Pais(qr.tabela());
    }
}
